Trait isotope::term::Typecheck[][src]

pub trait Typecheck: HasDependencies + Debug {
Show methods fn do_local_tyck(&self, ctx: &mut impl ConsCtx + ?Sized) -> bool;
fn do_global_tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool>;
fn do_annot_tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool>;
fn load_flags(&self) -> TyckFlags;
fn set_flags(&self, flags: TyckFlags); fn local_tyck(&self, ctx: &mut impl ConsCtx + ?Sized) -> bool { ... }
fn global_tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool> { ... }
fn var_tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool> { ... }
fn annot_tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool> { ... }
fn global_var_tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool> { ... }
fn tyck(&self, ctx: &mut impl TyCtxMut + ?Sized) -> Option<bool> { ... }
fn tyck_var(
        &self,
        ctx: &mut impl TyCtxMut + ConsCtx + ?Sized
    ) -> Option<bool> { ... }
fn maybe_tyck(&self) -> bool { ... }
}
Expand description

Objects which can be type-checked in a context

Required methods

Locally typecheck a term: note this is context-independent, without caching

Globally typecheck a term, i.e. typecheck all subterms, without caching

Typecheck this term’s annotation, without caching

Load this term’s current flags

Set this term’s flags. May cause errors if done incorrectly!

Provided methods

Locally typecheck a term: note this is context-independent.

Globally typecheck a term, i.e. typecheck all subterms and their variables

Variable typecheck a term, i.e. typecheck all subterms and their variables.

Typecheck this term’s annotation

Globally typecheck a term and it’s annotation, i.e. typecheck all subterms, annotation subterms, and their variables

Typecheck a term in a given context

Typecheck this term along with it’s variables

Whether this term might be type-checked

Implementations on Foreign Types

Implementors